﻿//-----------------------------------------------------------------------
// <copyright file="BuildDataContext.cs">(c). All other rights reserved.</copyright>
//-----------------------------------------------------------------------
namespace TfsBuildExtensions.Activities.TeamFoundationServer
{
    using Microsoft.TeamFoundation.Build.Client;
    using Microsoft.TeamFoundation.TestManagement.Client;
    using Microsoft.TeamFoundation.VersionControl.Client;
    using Microsoft.TeamFoundation.WorkItemTracking.Client;

    /// <summary>
    /// Contains data used by the build release notes document generator
    /// </summary>
    internal class BuildDataContext
    {
        /// <summary>
        /// The current builddetail
        /// </summary>
        internal IBuildDetail BuildDetail { get; set; }

        /// <summary>
        /// The previous 'latest' build found
        /// </summary>
        internal IBuildDetail LatestBuildDetail { get; set; }

        /// <summary>
        /// Build project nodes
        /// </summary>
        internal IBuildProjectNode[] BuildProjectNodes { get; set; }

        /// <summary>
        /// Configuration summaries
        /// </summary>
        internal IConfigurationSummary[] ConfigurationSummaries { get; set; }

        /// <summary>
        /// The changesets found between current and latest build
        /// </summary>
        internal Changeset[] Changesets { get; set; }

        /// <summary>
        /// The workitems found connected to the changesets
        /// </summary>
        internal WorkItem[] WorkItems { get; set; }

        /// <summary>
        /// The test case results
        /// </summary>
        internal ITestCaseResult[] TestCaseResults { get; set; }

        /// <summary>
        /// Document abstract
        /// </summary>
        internal DocumentAbstract Abstract { get; set; }
    }
}
